more like clusterfbad solution :3
i know i can do better but this week is weeking so we'll see if i have time to fix it